package com.by.common.bean;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * @author Ye QS
 * @version 0.1
 * @className ResultBean
 * @description 统一返回结果
 * @date 2024/9/5 14:18
 * @since jdk11
 */
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
/**
 * 通用的结果封装类，用于统一返回接口响应数据。
 */
@ApiModel("通用的结果封装类，用于统一返回接口响应数据。")
public class ResultBean<T> {

    /**
     * 接口请求状态码字段。
     * - 通过此字段表示接口请求的状态，例如成功、失败等。
     *
     * @ApiModelProperty 注解提供了对该字段的详细描述。
     * - value = "接口请求状态" 表示此字段存储的是接口请求的状态信息。
     */
    @ApiModelProperty("接口请求状态")
    private int code; // 接口请求状态

    /**
     * 接口返回描述信息字段。
     * - 通过此字段提供关于接口执行情况的描述信息，例如错误消息或成功提示。
     *
     * @ApiModelProperty 注解提供了对该字段的详细描述。
     * - value = "接口返回描述" 表示此字段存储的是接口返回的描述信息。
     */
    @ApiModelProperty("接口返回描述")
    private String msg; // 接口返回描述

    /**
     * 接口返回的数据字段。
     * - 通过此字段存储具体的业务数据，类型为泛型 T，可以是任何类型的数据。
     *
     * @ApiModelProperty 注解提供了对该字段的详细描述。
     * - value = "接口返回数据" 表示此字段存储的是接口返回的具体业务数据。
     */
    @ApiModelProperty("接口返回数据")
    private T data; // 接口返回数据
}
